package com.youlu.campus.entity.VO.req;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
public class ActivityPayConfigVO {

    private String id;
    @NotBlank(message = "活动ID不能为空")
    private String activityId;
    private String activityName;
    //是否属于自有平台h5
    @NotNull(message = "活动来源不能为空")
    private Boolean platformSource;
    @NotBlank(message = "公众号ID不能为空")
    private String appId;
    @NotBlank(message = "公众号名词不能为空")
    private String appName;
    //领取证书介绍
    private String receiveCertificateDesc;
    //联系我们
    private String aboutDesc;
    //领取介绍
    private String receiveDesc;
    //证书介绍
    private String certificateDesc;

    private String wechatPayUrl;

    private Boolean layer = Boolean.FALSE;

    private String layerUrl;
    /**
     * 邮费模版ID
     */
    private String postageTemplateId;

    /**
     * 背景图
     */
    private String backGroundImageUrl;
    /**
     * 累计贡献值别称
     */
    private String rewardValueDesc;
    /**
     * 证书1名称
     */
    private String extDesc;

    /**
     * 证书2名称
     */
    private String caLevelDesc;
    /**
     * 标题
     */
    private String title;

    /**
     * 副标题
     */
    private String subTitle;


    private Boolean receiveCa = Boolean.FALSE;

    private Boolean showCountDown = Boolean.FALSE;
    /**
     * 收款开始时间
     */
    private Date payStartTime;
    /**
     * 支付结束时间
     */
    private Date payEndTime;

//    /**
//     * 是否展示证书用户信息 true 展示 false
//     */
//    private Boolean userInfoCertificateShow = Boolean.TRUE;
    /**
     * 活动详情链接
     */
    private String activityDetailLink;

    /**
     * 个人信息颜色值
     */
    private String colorValueUserInfo;
    /**
     * 活动主题颜色值
     */
    private String themeColor;

    /**
     * 收款首页背景色
     */
    private String backgroundThemeColor;

    /**
     * 等级颜色
     */
    private String levelColor;

    /**
     * 倒计时颜色
     */
    private String countdownColor;

    /**
     * false 表示开启，true 表示关闭
     */
    private Boolean hideActivityDetailLink = Boolean.TRUE;

    /**
     * 电子版联系我们
     */
    private String digitalAboutDesc;
    /**
     * 广告弹窗
     */
    private String adPopups;

    /**
     * 发送模版消息备注信息
     */
    private String msgTemplateRemark;
    /**
     * 限时扣减金额 单位分
     */
    private Integer deductionMoney;
    /**
     * 限时扣减时间 单位分
     */
    private Integer deductionExpireTime;

    /**
     * 收款首页弹窗背景图
     */
    private String backgroundImgPopupUrl;
    /**
     * 是否现实广告
     */
    private Boolean showAdPopups = Boolean.TRUE;
    /**
     * 是否在收款显示投诉
     */
    private Boolean showPayComplaintButton = Boolean.TRUE;
    /**
     * 是否启用周期时间
     */
    private Boolean hasCycleTime = Boolean.FALSE;
    /**
     * 周期时长，单位秒
     */
    private Integer cycleTime;
    /**
     * 证书作用,富文本
     */
    private String caEffect;
    /**
     * 是否开启待领取
     * 1. 此开关是倒计时总控开关，此开关关闭，该下发页面全倒计时关闭；
     * 2. 此开关开启，该下发页面倒计时启用，不同模块的倒计时是否显示，
     * 由各自模块控制显隐，共用“倒计时周期 与 周期时长”
     */
    private Boolean openUnclaimed = Boolean.TRUE;
    /**
     * 是否开启头部倒计时
     * 1. 新增倒计时隐藏开关;
     * 2. 该开关默认开启，开启状态下，前端展示头部倒计时；
     * 3. 手动关闭开关，前端隐藏倒计时功能；
     */
    private Boolean openHeaderCountDown = Boolean.TRUE;
    /**
     * 是否显示用户信息,用户看板，名字、大学、积分、头像
     */
    private Boolean showUserInfo = Boolean.TRUE;
    /**
     * 是否显示商品推荐
     * 1. 该开关默认关闭，关闭状态下，前端不显示“商品推荐模块”，后端不显示“商品推荐模块”配置项；
     * <p>
     * 2.手动开启开关，前端显示“商品推荐模块”，后端展开“商品推荐模块”配置列表；
     */
    private Boolean openItemsRecommend = Boolean.TRUE;
    /**
     * 是否开启证书补贴
     */
    private Boolean openCaSubsidy = Boolean.FALSE;
    /**
     * 补贴门限
     */
    private Integer caSubsidyThreshold = 2;
    /**
     * 证书补贴费用
     */
    private Integer caSubsidyFee;
    /**
     * 证书补贴描述
     */
    private String caSubsidyDesc;
    /**
     * 前端配置
     */
    private String frontConfig;
    /**
     * 开始时间
     */
    private Date startTime;
    /**
     * 结束时间
     */
    private Date endTime;
    /**
     * 促销语
     */
    private String promotion;
    /**
     * 默认选择分类商品的分类数量
     */
    private Integer choicedCateNum = 1;


}
